1f23f32b42a82c526d711efc14c22fc96a1b9799,portal-impl/src/com/liferay/portlet/messageboards/service/impl/MBMessageLocalServiceImpl.java,MBMessageLocalServiceImpl,notifySubscribers,#MBCategory#MBMessage#PortletPreferences#ThemeDisplay#boolean#,1335
Before Change
MBMessageProducer.produce(
new String[] {
String.valueOf(message.getCompanyId()),
String.valueOf(message.getUserId()),
StringUtil.merge(categoryIds),
String.valueOf(message.getThreadId()),
After Change
String subjectPrefix = null;
String body = null;
String signature = null;
boolean htmlFormat = MBUtil.getEmailHtmlFormat(prefs);
if (update) {
subjectPrefix = MBUtil.getEmailMessageUpdatedSubjectPrefix(prefs);
body = MBUtil.getEmailMessageUpdatedBody(prefs);
signature = MBUtil.getEmailMessageUpdatedSignature(prefs);
}
else {
subjectPrefix = MBUtil.getEmailMessageAddedSubjectPrefix(prefs);
body = MBUtil.getEmailMessageAddedBody(prefs);
signature = MBUtil.getEmailMessageAddedSignature(prefs);
}
if (Validator.isNotNull(signature)) {
body += "\n--\n" + signature;
}
subjectPrefix = StringUtil.replace(
subjectPrefix,
new String[] {
"[$CATEGORY_NAME$]",
"[$COMPANY_ID$]",
"[$COMPANY_MX$]",
"[$COMPANY_NAME$]",
"[$COMMUNITY_NAME$]",
"[$FROM_ADDRESS$]",
"[$FROM_NAME$]",
"[$MAILING_LIST_ADDRESS$]",
"[$MESSAGE_BODY$]",
"[$MESSAGE_ID$]",
"[$MESSAGE_SUBJECT$]",
"[$MESSAGE_USER_ADDRESS$]",
"[$MESSAGE_USER_NAME$]",
"[$PORTAL_URL$]",
"[$PORTLET_NAME$]"
},
new String[] {
category.getName(),
String.valueOf(company.getCompanyId()),
company.getMx(),
company.getName(),
group.getName(),
fromAddress,
fromName,
mailingListAddress,
message.getBody(),
String.valueOf(message.getMessageId()),
message.getSubject(),
user.getEmailAddress(),
user.getFullName(),
company.getVirtualHost(),
portletName
});
body = StringUtil.replace(
body,
new String[] {
"[$CATEGORY_NAME$]",
"[$COMPANY_ID$]",
"[$COMPANY_MX$]",
"[$COMPANY_NAME$]",
"[$COMMUNITY_NAME$]",
"[$FROM_ADDRESS$]",
"[$FROM_NAME$]",
"[$MAILING_LIST_ADDRESS$]",
"[$MESSAGE_BODY$]",
"[$MESSAGE_ID$]",
"[$MESSAGE_SUBJECT$]",
"[$MESSAGE_URL$]",
"[$MESSAGE_USER_ADDRESS$]",
"[$MESSAGE_USER_NAME$]",
"[$PORTAL_URL$]",
"[$PORTLET_NAME$]"
},
new String[] {
category.getName(),
String.valueOf(company.getCompanyId()),
company.getMx(),
company.getName(),
group.getName(),
fromAddress,
fromName,
mailingListAddress,
message.getBody(),
String.valueOf(message.getMessageId()),
message.getSubject(),
messageURL,
user.getEmailAddress(),
user.getFullName(),
company.getVirtualHost(),
portletName
});
String subject = message.getSubject();
if (subject.indexOf(subjectPrefix) == -1) {
subject = subjectPrefix.trim() + " " + subject.trim();
}
String inReplyTo = null;
if (message.getParentMessageId() !=
MBMessageImpl.DEFAULT_PARENT_MESSAGE_ID) {
inReplyTo = MBUtil.getMailId(
company.getMx(), message.getCategoryId(),
message.getParentMessageId());
}
JSONObject jsonObj = JSONFactoryUtil.createJSONObject();
jsonObj.put("companyId", message.getCompanyId());
jsonObj.put("userId", message.getUserId());
jsonObj.put("categoryIds", StringUtil.merge(categoryIds));
jsonObj.put("threadId", message.getThreadId());
jsonObj.put("fromName", fromName);
jsonObj.put("fromAddress", fromAddress);
jsonObj.put("subject", subject);
jsonObj.put("body", body);
jsonObj.put("replyToAddress", replyToAddress);
jsonObj.put("mailId", mailId);
jsonObj.put("inReplyTo", inReplyTo);
jsonObj.put("htmlFormat", htmlFormat);
MessageBusUtil.sendMessage(
DestinationNames.MESSAGE_BOARDS_MESSAGE, jsonObj.toString());